package com.zhumo.sz.entity.user;

import com.zhumo.sz.common.annotation.TransientSink;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.sql.Timestamp;

/**
 * 深圳一卡通用户表 支付宝中的乘车码最终还是绑定此用户
 * 只不过支付方式为支付宝 而 非一卡通App 或 实体卡 或 utc 卡
 * id BIGINT  自增id PRIMARY KEY
 * user_id BIGINT 用户唯一标识 PRIMARY KEY
 * szt_name VARCHAR 深圳通用户名
 * user_name VARCHAR 用户姓名
 * password VARCHAR 密码
 * region_method INT 注册方式
 * one_card VARCHAR 用户身份证号
 * birthday DATETIME 出生年月
 * email VARCHAR 邮箱
 * phone BIGINT 手机号码
 * level INT 用户级别
 * country VARCAHR 国家
 * province VARCAHR 省份
 * city VARCHAR 城市
 * district VARCHAR 地区
 * address VARCHAR 户口所在地址
 * region_ip VARCHAR 注册ip地址
 * sz_address TEXT 深圳市民登记地址
 * sz_district  VARCHAR深圳市民登记市区
 * sz_street VARCHAR 深圳市民登记街道
 * sz_apart  VARCHAR 深圳市民登记社区
 * is_sz_user TINYINT 是否深圳本地用户
 * is_bind_wechat TINYINT是否绑定微信
 * wechat VARCHAR 微信账号
 * is_bind_aliplay TINYINT 是否绑定支付宝
 * aliplay VARCHAR 支付宝账号
 * is_stu TINYINT 是否深圳注册学生
 * is_physical TINYINT 是否深圳注册残障人士
 * is_black_user TINYINT 是否黑名单用户
 * is_deleted TINYINT 是否删除
 * region_time TIMESTAMP 注册时间
 * logout_time TIMESTAMP 注销时间
 * create_time TIMESTAMP 创建时间
 * update_time TIMESTAMP 更新时间
 *
 *
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "深圳通用户信息",description = "深圳通用户信息表")
public class UserInfo {

    @TransientSink
    private Long id;
    private String userId;
    private String sztName;
    private String userName;
    private String password;
    private String regionMethod; //注册方式
    private String oneCard; //身份证号
    private String birthday;
    private String sex;
    private String email;
    private Long phone;
    private Integer level;
    private String country;
    private String province;
    private String city;
    private String district; //地区
    private String town;
    private String address;
    private String regionIp;
    private String szAddress; //深圳市民登记地址
    private String szDistrict;
    private String szStreet;
    private String szApart;
    private boolean isSzUser;
    private boolean isBindWechat;
    private String wechat;
    private boolean isBindAliplay;
    private String aliplay;
    private boolean isStu;
    private boolean isPhysical;
    private boolean isBlackUser;
    private Timestamp regionTime;
    private Timestamp logoutTime;
    private Timestamp createTime;
    private Timestamp updateTime;
}
